//第一步： 导入网络模块
import http from '@ohos.net.http';

import api from './index'

//封装GET请求
// 网络请求 是否基于promise
const get =  (url:string,data={})=> {
  // 把 'data' 拼接成 'str'
  let str = '';
  if(data){
     for(let key in data){
        str+=key+"="+data[key]+"&"
     }
     str = str.slice(0,str.length-1);
     console.log(str);
  }
  // 创建请求任务
  let httpRequest = http.createHttp();
  // 调用request方法返回promise
  return httpRequest.request(
    str ? url+"?"+str: url,  // 请求地址
    {
      method: http.RequestMethod.GET,// 请求方式
      connectTimeout: 60000,
      readTimeout: 60000,
      header: {
        'Content-Type': 'application/json' // 请求头信息
      }
    })
}


//封装POST请求
const post =  (url:string,data={})=> {
  // 创建请求任务
  let httpRequest = http.createHttp();
  // 调用request方法返回promise
  return httpRequest.request(
    url,  // 请求地址
    {
      method: http.RequestMethod.POST,// 请求方式
      extraData: data,// 传递参数给后台
      connectTimeout: 60000,
      readTimeout: 60000,
      header: {
        'Content-Type': 'application/json' // 请求头信息
      }
    })
}



//接口一：登录
// http://localhost:3000/api/user/login
export const LoginFn = (data={})=> {
   return post(`${api.host}/api/user/login`,data)
}

//接口二：注册
// http://localhost:3000/api/user/register
export const RegisterFn = (data={})=> {
  return post(`${api.host}/api/user/register`,data)
}

//接口三：获取用户信息
// http://localhost:3000/api/user/info
export const UserFn = (data={})=> {
  return post(`${api.host}/api/user/info`,data)
}

//接口四：修改用户信息
// http://localhost:3000/api/user/modify
export const modifyFn = (data={})=> {
  return post(`${api.host}/api/user/modify`,data)
}

//接口五：轮播图列表
// http://localhost:3000/api/banner/list
export const bannerFn = (data={})=> {
  return get(`${api.host}/api/banner/list`,data)
}

//接口六：导航列表
// http://localhost:3000/api/classify/list
export const classifyFn = (data={})=> {
  return get(`${api.host}/api/classify/list`,data)
}

//接口七：分类列表
// http://localhost:3000/api/pet/list_classify
export const petCategoryFn = (data={})=> {
  return get(`${api.host}/api/pet/list_classify`,data)
}

//接口八：关键字搜索
// http://localhost:3000/api/pet/search
export const searchFn = (data={})=> {
  return get(`${api.host}/api/pet/search`,data)
}

//接口九：添加收藏
// http://localhost:3000/api/collect/add
export const addCollectFn = (data={})=> {
  return post(`${api.host}/api/collect/add`,data)
}

//接口十：删除收藏
// http://localhost:3000/api/collect/remove
export const removeCollectFn = (data={})=> {
  return post(`${api.host}/api/collect/remove`,data)
}

//接口十一：收藏列表
// http://localhost:3000/api/collect/list
export const listCollectFn = (data={})=> {
  return get(`${api.host}/api/collect/list`,data)
}

//接口十二：是否收藏
// http://localhost:3000/api/collect/is_collect
export const isCollectFn = (data={})=> {
  return post(`${api.host}/api/collect/is_collect`,data)
}



